<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN"><link href="stylesheet.css" media="all" rel="stylesheet" type="text/css">
<title>在 Windows 上安装客户端</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head><body class="CHAPTER">
<div>
<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><th colspan="5" align="center" valign="bottom">PostgreSQL 8.2.3 中文文档</th></tr>
<tr><td width="10%" align="left" valign="top"><a href="supported-platforms.html" accesskey="P">后退</a></td><td width="10%" align="left" valign="top"><a href="installation.html">快退</a></td><td width="60%" align="center" valign="bottom"></td><td width="10%" align="right" valign="top"><a href="runtime.html">快进</a></td><td width="10%" align="right" valign="top"><a href="runtime.html" accesskey="N">前进</a></td></tr>
</table>
<hr align="LEFT" width="100%"></div>
<div class="CHAPTER"><h1><a name="INSTALL-WIN32"></a>章15. 在 Windows 上安装客户端</h1><a name="AEN18610"></a>
<p>尽管完整的 Windows 版 PostgreSQL 只能用 MinGW 或者 Cygwin 编译，C 客户端库(<span class="APPLICATION">libpq</span>)和交互终端(<span class="APPLICATION">psql</span>)还是可以使用其它工具编译。在 Postgres 里包含的 makefile 是为 Microsoft Visual C++ 和 Borland C++ 写的。在其它配置下手工编译这个库应该也是可能的。</p>
<div class="TIP">
<blockquote class="TIP">
<p><b>【提示】</b>首选使用 MinGW 或者 Cygwin 。如果使用了其中一种工具集，请参阅<a href="installation.html">章14</a>。</p>
</blockquote>
</div>
<p>要用 Microsoft Visual C++ 编译在 Windows 里所有可能编译的东西，切换到 <tt class="FILENAME">src</tt> 目录，然后键入命令</p>
<pre class="SCREEN"><kbd class="USERINPUT">nmake /f win32.mak</kbd></pre>
<p>这里假设 Visual C++ 在路径里。</p>
<p>要使用 Borland C++ 编译所有东西，进入 <tt class="FILENAME">src</tt> 目录然后敲入命令：</p>
<pre class="SCREEN"><kbd class="USERINPUT">make -N -DCFG=Release /f bcc32.mak</kbd></pre>
<p>编译将生成下面的文件：</p>
<div class="VARIABLELIST">
<dl>
<dt><tt class="FILENAME">interfaces\libpq\Release\libpq.dll</tt></dt>
<dd><p>动态链接的前端库</p></dd>
<dt><tt class="FILENAME">interfaces\libpq\Release\libpqdll.lib</tt></dt>
<dd><p>把你的程序和 <tt class="FILENAME">libpq.dll</tt> 链接的输入库</p></dd>
<dt><tt class="FILENAME">interfaces\libpq\Release\libpq.lib</tt></dt>
<dd><p>前端库的静态库版本</p></dd>
<dt><tt class="FILENAME">bin\pg_config\Release\pg_config.exe</tt><br><tt class="FILENAME">bin\psql\Release\psql.exe</tt><br><tt class="FILENAME">bin\pg_dump\Release\pg_dump.exe</tt><br><tt class="FILENAME">bin\pg_dump\Release\pg_dumpall.exe</tt><br><tt class="FILENAME">bin\pg_dump\Release\pg_restore.exe</tt><br><tt class="FILENAME">bin\scripts\Release\clusterdb.exe</tt><br><tt class="FILENAME">bin\scripts\Release\createdb.exe</tt><br><tt class="FILENAME">bin\scripts\Release\createuser.exe</tt><br><tt class="FILENAME">bin\scripts\Release\createlang.exe</tt><br><tt class="FILENAME">bin\scripts\Release\dropdb.exe</tt><br><tt class="FILENAME">bin\scripts\Release\dropuser.exe</tt><br><tt class="FILENAME">bin\scripts\Release\droplang.exe</tt><br><tt class="FILENAME">bin\scripts\Release\vacuumdb.exe</tt><br><tt class="FILENAME">bin\scripts\Release\reindexdb.exe</tt></dt>
<dd><p>PostgreSQL 客户端程序和工具</p></dd>
</dl>
</div>
<p>唯一需要安装的文件是 <tt class="FILENAME">libpq.dll</tt> 库。这个文件在大多数情况下应该放在 <tt class="FILENAME">WINDOWS\SYSTEM</tt> 目录里。如果此文件是用一个 setup 程序安装的，那么它应该在安装前用文件里的 <tt class="SYMBOL">VERSIONINFO</tt> 资源检查版本，以确保现有新版本的库不会被覆盖。</p>
<p>如果你准备在这台机器上使用 <span class="APPLICATION">libpq</span> 进行开发，你要把 <tt class="FILENAME">src\include</tt> 和 <tt class="FILENAME">src\interfaces\libpq</tt> 目录加入到编译器设置的包含路径里。</p>
<p>要使用库，你必须把 <tt class="FILENAME">libpqdll.lib</tt> 文件增加到你的项目里(在 Visual C++ 里，只需要右键点击项目然后选择增加库)。</p>
<p>Microsoft 发布的免费的开发工具可以从 <a href="http://msdn.microsoft.com/visualc/vctoolkit2003/" target="_top">http://msdn.microsoft.com/visualc/vctoolkit2003/</a> 下载。你还需要从 <a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/" target="_top">http://www.microsoft.com/msdownload/platformsdk/sdkupdate/</a> 下载平台 SDK 里面的 <tt class="FILENAME">MSVCRT.lib</tt> 文件。你还需要从 <a href="http://msdn.microsoft.com/netframework/downloads/updates/default.aspx" target="_top">http://msdn.microsoft.com/netframework/downloads/updates/default.aspx</a> 下载 .NET 框架。安装完毕之后，工具箱的二进制文件必须在你的路径里，并且你可能需要增加一个 <tt class="LITERAL">/lib:&lt;libpath&gt;</tt> 指向 <tt class="FILENAME">MSVCRT.lib</tt> 。免费的 Borland C++ 编译工具可以从 <a href="http://www.borland.com/products/downloads/download_cbuilder.html#" target="_top">http://www.borland.com/products/downloads/download_cbuilder.html#</a> 下载，并且也需要做类似的设置。</p>
</div>
<div>
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="33%" align="left" valign="top"><a href="supported-platforms.html" accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">首页</a></td><td width="33%" align="right" valign="top"><a href="runtime.html" accesskey="N">前进</a></td></tr>
<tr><td width="33%" align="left" valign="top">支持的平台</td><td width="34%" align="center" valign="top"><a href="admin.html" accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">操作系统环境</td></tr>
</table>
</div>
</body></html>